Coinductive Techniques for Operational Equivalence of Interaction Nets
نویسندگان
چکیده
In this paper we study a notion of operational equivalence for interaction nets, following the recent success of applying methods based on bisimulation to functional and object oriented programming languages. We set up notions of contextual equivalence and bisimilarity and show that they coincide. A coinduction principle then gives a simple and robust way of showing when two interaction nets are contextually equivalent. We include several examples to demonstrate the usefulness of the approach, in particular for optimizing interaction nets.
منابع مشابه
A Theory of Operational Equivalence for Interaction Nets
The notion of contextual equivalence is fundamental in the theory of programming languages. By setting up a notion of bisimilarity, and showing that it coincides with contextual equivalence, one obtains a simple coinductive proof technique for showing that two programs are equivalent in all contexts. In this paper we apply these (now standard) techniques to interactions nets, a graphical progra...
متن کاملInductive and Coinductive Techniques in the Operational Analysis of Functional Programs: an Introduction
Many works have shown that operational semantics is a useful framework for the formal study of programs properties. Our investigation takes as object of study a call-by-name variant of FPC, a functional language with higher order functions and recursive types. We show that by using Plotkin’s structural operational semantics it is possible to specify formal semantics for FPC for both convergent ...
متن کاملHow Linear is Howe?
In recent years there has been much progress in the use of operationally based methods for reasoning about programs. Notions such as contextual equivalence and bisimilarity, which are historically more usually associated with functional programming and concurrency respectively, have been shown to be very closely connected, and such connections can be seen throughout the functional, concurrent a...
متن کاملProgramming and Reasoning with Guarded Recursion for Coinductive Types
We present the guarded lambda-calculus, an extension of the simply typed lambda-calculus with guarded recursive and coinductive types. The use of guarded recursive types ensures the productivity of well-typed programs. Guarded recursive types may be transformed into coinductive types by a type-former inspired by modal logic and Atkey-McBride clock quantification, allowing the typing of acausal ...
متن کاملTrace-Based Coinductive Operational Semantics for While Big-Step and Small-Step, Relational and Functional Styles
We present four coinductive operational semantics for the While language accounting for both terminating and non-terminating program runs: big-step and small-step relational semantics and big-step and small-step functional semantics. The semantics employ traces (possibly infinite sequences of states) to record the states that program runs go through. The relational semantics relate statement-st...
متن کامل